{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Adversarial-Robustness-Toolbox for scikit-learn DecisionTreeClassifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.ensemble import BaggingClassifier\n",
    "from sklearn.datasets import load_iris\n",
    "\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "from art.classifiers import SklearnClassifier\n",
    "from art.attacks import ZooAttack\n",
    "from art.utils import load_mnist\n",
    "\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1 Training scikit-learn BaggingClassifier and attacking with ART Zeroth Order Optimization attack"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_adversarial_examples(x_train, y_train):\n",
    "    \n",
    "    # Fit BaggingClassifier\n",
    "    model = BaggingClassifier()\n",
    "    model.fit(X=x_train, y=y_train)\n",
    "\n",
    "    # Create ART classifier for scikit-learn BaggingClassifier\n",
    "    art_classifier = SklearnClassifier(model=model)\n",
    "\n",
    "    # Create ART Zeroth Order Optimization attack\n",
    "    zoo = ZooAttack(classifier=art_classifier, confidence=0.0, targeted=False, learning_rate=1e-1, max_iter=20,\n",
    "                    binary_search_steps=10, initial_const=1e-3, abort_early=True, use_resize=False, \n",
    "                    use_importance=False, nb_parallel=1, batch_size=1, variable_h=0.2)\n",
    "    \n",
    "    # Generate adversarial samples with ART Zeroth Order Optimization attack\n",
    "    x_train_adv = zoo.generate(x_train)\n",
    "\n",
    "    return x_train_adv, model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1.1 Utility functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_data(num_classes):\n",
    "    x_train, y_train = load_iris(return_X_y=True)\n",
    "    x_train = x_train[y_train < num_classes][:, [0, 1]]\n",
    "    y_train = y_train[y_train < num_classes]\n",
    "    x_train[:, 0][y_train == 0] *= 2\n",
    "    x_train[:, 1][y_train == 2] *= 2\n",
    "    x_train[:, 0][y_train == 0] -= 3\n",
    "    x_train[:, 1][y_train == 2] -= 2\n",
    "    \n",
    "    x_train[:, 0] = (x_train[:, 0] - 4) / (9 - 4)\n",
    "    x_train[:, 1] = (x_train[:, 1] - 1) / (6 - 1)\n",
    "    \n",
    "    return x_train, y_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_results(model, x_train, y_train, x_train_adv, num_classes):\n",
    "    \n",
    "    fig, axs = plt.subplots(1, num_classes, figsize=(num_classes * 5, 5))\n",
    "\n",
    "    colors = ['orange', 'blue', 'green']\n",
    "\n",
    "    for i_class in range(num_classes):\n",
    "\n",
    "        # Plot difference vectors\n",
    "        for i in range(y_train[y_train == i_class].shape[0]):\n",
    "            x_1_0 = x_train[y_train == i_class][i, 0]\n",
    "            x_1_1 = x_train[y_train == i_class][i, 1]\n",
    "            x_2_0 = x_train_adv[y_train == i_class][i, 0]\n",
    "            x_2_1 = x_train_adv[y_train == i_class][i, 1]\n",
    "            if x_1_0 != x_2_0 or x_1_1 != x_2_1:\n",
    "                axs[i_class].plot([x_1_0, x_2_0], [x_1_1, x_2_1], c='black', zorder=1)\n",
    "\n",
    "        # Plot benign samples\n",
    "        for i_class_2 in range(num_classes):\n",
    "            axs[i_class].scatter(x_train[y_train == i_class_2][:, 0], x_train[y_train == i_class_2][:, 1], s=20,\n",
    "                                 zorder=2, c=colors[i_class_2])\n",
    "        axs[i_class].set_aspect('equal', adjustable='box')\n",
    "\n",
    "        # Show predicted probability as contour plot\n",
    "        h = .01\n",
    "        x_min, x_max = 0, 1\n",
    "        y_min, y_max = 0, 1\n",
    "\n",
    "        xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n",
    "\n",
    "        Z_proba = model.predict_proba(np.c_[xx.ravel(), yy.ravel()])\n",
    "        Z_proba = Z_proba[:, i_class].reshape(xx.shape)\n",
    "        im = axs[i_class].contourf(xx, yy, Z_proba, levels=[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0],\n",
    "                                   vmin=0, vmax=1)\n",
    "        if i_class == num_classes - 1:\n",
    "            cax = fig.add_axes([0.95, 0.2, 0.025, 0.6])\n",
    "            plt.colorbar(im, ax=axs[i_class], cax=cax)\n",
    "\n",
    "        # Plot adversarial samples\n",
    "        for i in range(y_train[y_train == i_class].shape[0]):\n",
    "            x_1_0 = x_train[y_train == i_class][i, 0]\n",
    "            x_1_1 = x_train[y_train == i_class][i, 1]\n",
    "            x_2_0 = x_train_adv[y_train == i_class][i, 0]\n",
    "            x_2_1 = x_train_adv[y_train == i_class][i, 1]\n",
    "            if x_1_0 != x_2_0 or x_1_1 != x_2_1:\n",
    "                axs[i_class].scatter(x_2_0, x_2_1, zorder=2, c='red', marker='X')\n",
    "        axs[i_class].set_xlim((x_min, x_max))\n",
    "        axs[i_class].set_ylim((y_min, y_max))\n",
    "\n",
    "        axs[i_class].set_title('class ' + str(i_class))\n",
    "        axs[i_class].set_xlabel('feature 1')\n",
    "        axs[i_class].set_ylabel('feature 2')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2 Example: Iris dataset"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### legend\n",
    "- colored background: probability of class i\n",
    "- orange circles: class 1\n",
    "- blue circles: class 2\n",
    "- green circles: class 3\n",
    "- red crosses: adversarial samples for class i"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "num_classes = 2\n",
    "x_train, y_train = get_data(num_classes=num_classes)\n",
    "x_train_adv, model = get_adversarial_examples(x_train, y_train)\n",
    "plot_results(model, x_train, y_train, x_train_adv, num_classes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "num_classes = 3\n",
    "x_train, y_train = get_data(num_classes=num_classes)\n",
    "x_train_adv, model = get_adversarial_examples(x_train, y_train)\n",
    "plot_results(model, x_train, y_train, x_train_adv, num_classes)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3 Example: MNIST"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.1 Load and transform MNIST dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "(x_train, y_train), (x_test, y_test), min_, max_ = load_mnist()\n",
    "\n",
    "n_samples_train = x_train.shape[0]\n",
    "n_features_train = x_train.shape[1] * x_train.shape[2] * x_train.shape[3]\n",
    "n_samples_test = x_test.shape[0]\n",
    "n_features_test = x_test.shape[1] * x_test.shape[2] * x_test.shape[3]\n",
    "\n",
    "x_train = x_train.reshape(n_samples_train, n_features_train)\n",
    "x_test = x_test.reshape(n_samples_test, n_features_test)\n",
    "\n",
    "y_train = np.argmax(y_train, axis=1)\n",
    "y_test = np.argmax(y_test, axis=1)\n",
    "\n",
    "n_samples_max = 200\n",
    "x_train = x_train[0:n_samples_max]\n",
    "y_train = y_train[0:n_samples_max]\n",
    "x_test = x_test[0:n_samples_max]\n",
    "y_test = y_test[0:n_samples_max]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.2 Train BaggingClassifier classifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = BaggingClassifier(base_estimator=None, n_estimators=10, max_samples=1.0, max_features=1.0, \n",
    "                          bootstrap=True, bootstrap_features=False, oob_score=False, warm_start=False, \n",
    "                          n_jobs=None, random_state=None, verbose=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "BaggingClassifier(base_estimator=None, bootstrap=True,\n",
       "         bootstrap_features=False, max_features=1.0, max_samples=1.0,\n",
       "         n_estimators=10, n_jobs=None, oob_score=False, random_state=None,\n",
       "         verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.fit(X=x_train, y=y_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.3 Create and apply Zeroth Order Optimization Attack with ART"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "art_classifier = SklearnClassifier(model=model)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "zoo = ZooAttack(classifier=art_classifier, confidence=0.0, targeted=False, learning_rate=1e-1, max_iter=100,\n",
    "                binary_search_steps=20, initial_const=1e-3, abort_early=True, use_resize=False, \n",
    "                use_importance=False, nb_parallel=10, batch_size=1, variable_h=0.25)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "x_train_adv = zoo.generate(x_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "x_test_adv = zoo.generate(x_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.4 Evaluate BaggingClassifier on benign and adversarial samples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Training Score: 1.0000\n"
     ]
    }
   ],
   "source": [
    "score = model.score(x_train, y_train)\n",
    "print(\"Benign Training Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQEAAAECCAYAAAD+eGJTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAO90lEQVR4nO3dbYxc5XnG8euKvdg1mMRbx45DHXCMU2igMemKFxkBFQp1o0qAKkKtKHJoWtMEJ6F1JahVFVqRyq2AlFKKZIqLkYAEAhR/oEksCwFRYYvtEjBxgARcarxdY1ZgIMTYu3c/7Ljdkt1ndndeznjv/09azcy5Z+bcPravfc6cZ85xRAhAXh+ougEA1SIEgOQIASA5QgBIjhAAkiMEgOQqCQHby20/b/sntq+uoocS27tsP2v7adtbO6CfDbb32t4xYlm37c22X6zdzumw/q61/WptGz5t+7MV9rfQ9iO2d9p+zvbXa8s7YhsW+mvLNnS75wnYnibpBUmfkbRb0lOSVkTEj9raSIHtXZJ6ImJf1b1Iku1zJL0t6c6IOKW27G8lDUTEulqQzomIqzqov2slvR0R11fR00i2F0haEBHbbc+WtE3SRZK+qA7YhoX+Pqc2bMMqRgKnS/pJRLwUEe9J+pakCyvo44gREY9JGnjf4gslbazd36jhfzSVGKO/jhERfRGxvXb/LUk7JR2nDtmGhf7aoooQOE7Sf414vFtt/AOPU0j6vu1ttldV3cwY5kdEnzT8j0jSvIr7Gc1q28/Udhcq210ZyfYJkk6T1KsO3Ibv609qwzasIgQ8yrJOm7u8LCI+Lem3JV1RG+5iYm6VtFjSUkl9km6oth3J9jGS7pd0ZUTsr7qf9xulv7ZswypCYLekhSMe/4qkPRX0MaaI2FO73SvpQQ3vwnSa/tq+5OF9yr0V9/P/RER/RAxGxJCk21TxNrTdpeH/YHdFxAO1xR2zDUfrr13bsIoQeErSEtuLbB8l6fckbaqgj1HZPrr24YxsHy3pAkk7yq+qxCZJK2v3V0p6qMJefsHh/1w1F6vCbWjbkm6XtDMibhxR6ohtOFZ/7dqGbT86IEm1Qx1/J2mapA0R8Y22NzEG2x/X8G9/SZou6e6q+7N9j6TzJM2V1C/pGkn/IuleSR+T9IqkSyKikg/nxujvPA0PY0PSLkmXH97/rqC/syU9LulZSUO1xWs1vN9d+TYs9LdCbdiGlYQAgM7BjEEgOUIASI4QAJIjBIDkCAEguUpDoIOn5Eqiv0Z1cn+d3JvU3v6qHgl09F+E6K9RndxfJ/cmtbG/qkMAQMUamixke7mkmzQ88++fImJd6flHeUbM1NH/+/igDqhLMya9/lajv8Z0cn+d3JvU/P5+rnf0XhwY7ct7kw+ByZwc5Fh3xxk+f1LrAzB5vbFF+2Ng1BBoZHeAk4MAU0AjIXAknBwEQB3TG3jtuE4OUjvUsUqSZmpWA6sD0AqNjATGdXKQiFgfET0R0dPJH8QAWTUSAh19chAA4zPp3YGIOGR7taTv6f9ODvJc0zoD0BaNfCagiHhY0sNN6gVABZgxCCRHCADJEQJAcoQAkBwhACRHCADJEQJAcoQAkBwhACRHCADJEQJAcoQAkBwhACRHCADJEQJAcoQAkBwhACRHCADJEQJAcoQAkBwhACRHCADJEQJAcoQAkBwhACRHCADJEQJAcoQAkBwhACRHCADJNXRpchxZPL381z3tw3Nbuv7n//SEYn1w1lCxfvzivcX6rK+4WP/vG48q1rf3fLtY3zf4TrF+xn1rivUT/+TJYr0qDYWA7V2S3pI0KOlQRPQ0oykA7dOMkcBvRsS+JrwPgArwmQCQXKMhEJK+b3ub7VXNaAhAezW6O7AsIvbYnidps+0fR8RjI59QC4dVkjRTsxpcHYBma2gkEBF7ard7JT0o6fRRnrM+InoioqdLMxpZHYAWmHQI2D7a9uzD9yVdIGlHsxoD0B6N7A7Ml/Sg7cPvc3dEfLcpXU1R005eUqzHjK5ifc+5HyrW3z2zfBy7+4Pl+uOfKh8nr9q//mx2sf43/7C8WO899e5i/eWD7xbr6/o/U6x/9PEo1jvVpEMgIl6S9Kkm9gKgAhwiBJIjBIDkCAEgOUIASI4QAJIjBIDkOJ9AEw2e9+li/cY7binWP9FV/r77VHcwBov1v7j5i8X69HfKx+nPum91sT771UPF+ox95XkEs7b2FuudipEAkBwhACRHCADJEQJAcoQAkBwhACRHCADJMU+giWY8v6dY3/bzhcX6J7r6m9lO063pO7NYf+nt8nUL7lj8nWL9zaHycf75f/9vxXqrHZlnC6iPkQCQHCEAJEcIAMkRAkByhACQHCEAJEcIAMk5on1HP491d5zh89u2vk4zcNlZxfr+5eXrAkx75phi/YdfuXnCPY103b5fL9afOrc8D2DwjTeL9TirfIb6XV8rlrVoxQ/LT8CYemOL9seAR6sxEgCSIwSA5AgBIDlCAEiOEACSIwSA5AgBIDnmCXSQaXN/uVgffH2gWH/57vJx/ufO2VCsn/7XXy3W591S7ff5MXkNzROwvcH2Xts7Rizrtr3Z9ou12znNbBhA+4xnd+AOScvft+xqSVsiYomkLbXHAI5AdUMgIh6T9P5x6IWSNtbub5R0UZP7AtAmk/1gcH5E9ElS7XZe81oC0E4tP9Go7VWSVknSTM1q9eoATNBkRwL9thdIUu1271hPjIj1EdETET1dmjHJ1QFolcmGwCZJK2v3V0p6qDntAGi3ursDtu+RdJ6kubZ3S7pG0jpJ99r+kqRXJF3SyiazGNz3ekOvP7j/qIZe/8nP/6hYf+3WaeU3GBpsaP2oRt0QiIgVY5SY9QNMAUwbBpIjBIDkCAEgOUIASI4QAJIjBIDkWj5tGO1z8lUvFOuXnVo+qvvPx28p1s+95Ipiffa3nyzW0ZkYCQDJEQJAcoQAkBwhACRHCADJEQJAcoQAkBzzBKaQwTfeLNZf//LJxform94t1q++7s5i/c8+d3GxHv/xwWJ94TeeKNbVxmtkZMJIAEiOEACSIwSA5AgBIDlCAEiOEACSIwSA5BxtPPZ6rLvjDHOm8k418PtnFet3XXN9sb5o+syG1v/JO1cX60tu6yvWD720q6H1T2W9sUX7Y8Cj1RgJAMkRAkByhACQHCEAJEcIAMkRAkByhACQHPMEMG6xbGmxfuy63cX6PR//XkPrP+mRPyjWf/Uvy+dTGHzxpYbWfyRraJ6A7Q2299reMWLZtbZftf107eezzWwYQPuMZ3fgDknLR1n+zYhYWvt5uLltAWiXuiEQEY9JGmhDLwAq0MgHg6ttP1PbXZjTtI4AtNVkQ+BWSYslLZXUJ+mGsZ5oe5Xtrba3HtSBSa4OQKtMKgQioj8iBiNiSNJtkk4vPHd9RPRERE+XZky2TwAtMqkQsL1gxMOLJe0Y67kAOlvdeQK275F0nqS5kvolXVN7vFRSSNol6fKIKH/ZW8wTmOqmzZ9XrO+59MRivfeqm4r1D9T5nfX5ly8o1t88+/VifSorzROoe/GRiFgxyuLbG+4KQEdg2jCQHCEAJEcIAMkRAkByhACQHCEAJMf5BNAx7t39RLE+y0cV6z+L94r13/nqleX3f7C3WD+Scd0BAGMiBIDkCAEgOUIASI4QAJIjBIDkCAEgubpfJQYOGzq7fN2Bn14ys1g/ZemuYr3ePIB6bh44rfz+D21t6P2nKkYCQHKEAJAcIQAkRwgAyRECQHKEAJAcIQAkxzyBRNxzSrH+wtfKx+lvW7axWD9nZvn7/I06EAeL9ScHFpXfYKjupTFSYiQAJEcIAMkRAkByhACQHCEAJEcIAMkRAkByzBM4gkxfdHyx/tPLPlqsX3vpt4r13z1m34R7aqa1/T3F+qM3nVmsz9lYvm4BRld3JGB7oe1HbO+0/Zztr9eWd9vebPvF2u2c1rcLoNnGsztwSNKaiDhZ0pmSrrD9a5KulrQlIpZI2lJ7DOAIUzcEIqIvIrbX7r8laaek4yRdKOnwPNKNki5qVZMAWmdCHwzaPkHSaZJ6Jc2PiD5pOCgkzWt2cwBab9whYPsYSfdLujIi9k/gdatsb7W99aAOTKZHAC00rhCw3aXhALgrIh6oLe63vaBWXyBp72ivjYj1EdETET1dmtGMngE00XiODljS7ZJ2RsSNI0qbJK2s3V8p6aHmtweg1cYzT2CZpC9Ietb207VlayWtk3Sv7S9JekXSJa1pceqYfsLHivU3f2NBsX7pX323WP+jDz1QrLfamr7ycfwn/rE8D6D7jn8v1ucMMQ+gFeqGQET8QJLHKJ/f3HYAtBvThoHkCAEgOUIASI4QAJIjBIDkCAEgOc4nMAHTF3ykWB/YcHSx/uVFjxbrK2b3T7inZlr96tnF+vZblxbrc7+zo1jvfovj/J2IkQCQHCEAJEcIAMkRAkByhACQHCEAJEcIAMmlmifw3m+Vv8/+3h8PFOtrT3y4WL/gl96ZcE/N1D/4brF+zqY1xfpJf/7jYr37jfJx/qFiFZ2KkQCQHCEAJEcIAMkRAkByhACQHCEAJEcIAMmlmiew66Jy5r1w6n0tXf8tbywu1m969IJi3YNjnfl92EnXvVysL+nvLdYHi1VMVYwEgOQIASA5QgBIjhAAkiMEgOQIASA5QgBIzhFRfoK9UNKdkj6i4a+Mr4+Im2xfK+kPJb1We+raiCh+4f5Yd8cZ5mrmQLv1xhbtj4FRJ5qMZ7LQIUlrImK77dmSttneXKt9MyKub1ajANqvbghERJ+kvtr9t2zvlHRcqxsD0B4T+kzA9gmSTpN0eP7patvP2N5ge06TewPQBuMOAdvHSLpf0pURsV/SrZIWS1qq4ZHCDWO8bpXtrba3HtSBJrQMoJnGFQK2uzQcAHdFxAOSFBH9ETEYEUOSbpN0+mivjYj1EdETET1dmtGsvgE0Sd0QsG1Jt0vaGRE3jli+YMTTLpZUviQtgI40nqMDyyR9QdKztp+uLVsraYXtpZJC0i5Jl7ekQwAtNZ6jAz+QNNrxxfJJ+AEcEZgxCCRHCADJEQJAcoQAkBwhACRHCADJEQJAcoQAkBwhACRHCADJEQJAcoQAkBwhACRHCADJEQJAcnWvO9DUldmvSfrPEYvmStrXtgYmjv4a08n9dXJvUvP7Oz4iPjxaoa0h8Asrt7dGRE9lDdRBf43p5P46uTepvf2xOwAkRwgAyVUdAusrXn899NeYTu6vk3uT2thfpZ8JAKhe1SMBABUjBIDkCAEgOUIASI4QAJL7H4v8SYP7urYSAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_train[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Training Predicted Label: 5\n"
     ]
    }
   ],
   "source": [
    "prediction = model.predict(x_train[0:1, :])[0]\n",
    "print(\"Benign Training Predicted Label: %i\" % prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Training Score: 0.2100\n"
     ]
    }
   ],
   "source": [
    "score = model.score(x_train_adv, y_train)\n",
    "print(\"Adversarial Training Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_train_adv[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Training Predicted Label: 3\n"
     ]
    }
   ],
   "source": [
    "prediction = model.predict(x_train_adv[0:1, :])[0]\n",
    "print(\"Adversarial Training Predicted Label: %i\" % prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Test Score: 0.5950\n"
     ]
    }
   ],
   "source": [
    "score = model.score(x_test, y_test)\n",
    "print(\"Benign Test Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_test[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Test Predicted Label: 7\n"
     ]
    }
   ],
   "source": [
    "prediction = model.predict(x_test[0:1, :])[0]\n",
    "print(\"Benign Test Predicted Label: %i\" % prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Test Score: 0.1800\n"
     ]
    }
   ],
   "source": [
    "score = model.score(x_test_adv, y_test)\n",
    "print(\"Adversarial Test Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_test_adv[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Test Predicted Label: 6\n"
     ]
    }
   ],
   "source": [
    "prediction = model.predict(x_test_adv[0:1, :])[0]\n",
    "print(\"Adversarial Test Predicted Label: %i\" % prediction)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
